/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package Presente;

import BancoDados.BancoDados;
import Entidade.CidadeModel;
import Entidade.EnderecoModel;
import Entidade.FornecedorModel;
import Enum.UF;
import Pesistencia.CidadePersistencia;
import Pesistencia.ClientePersistenicia;
import Pesistencia.EnderencoPersistencia;
import Pesistencia.FornecedorPersistencia;
import View.CadastrarFornecedorView;
import View.MainGerenteView;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JOptionPane;

/**
 *
 * @author Thalyta
 */
public class CadastrarFornecedorPresente {
    private BancoDados banco = new BancoDados();
    private FornecedorPersistencia fornecedor = new FornecedorPersistencia(banco);
    private CidadePersistencia cidades = new CidadePersistencia(banco);
    private EnderencoPersistencia endrecos = new EnderencoPersistencia(banco);
    private CadastrarFornecedorView view = new CadastrarFornecedorView();
    public CadastrarFornecedorPresente(CadastrarFornecedorView vie) {
       
        view = vie ;
          carregacombox();
        view.getBtncancelar().addActionListener(new ActionListener() {

           @Override
           public void actionPerformed(ActionEvent e) {
              cancelar();
           }
       });
       
       view.getBtnsalvar().addActionListener(new ActionListener() {

           @Override
           public void actionPerformed(ActionEvent e) {
              salvar();
           }

          
       }); 
         view.setLocationRelativeTo(null);
        view.setVisible(true);
    }
    
public void cancelar (){

view.setVisible(false);

    }
    
 public void salvar(){
  int  codigo1;
     int codigo = 0;
     
 try {
            if (fornecedor.buscar(fornecedor.recuperarUltimoCodigo() + 1) != null) {
                    throw new Exception("Fornecedor ja cadastrado- iiiih ferrou!");
            } else {
                
               if(cidades.buscarNome(view.getTxtcidade().getText()) == null){
                   
                    codigo = cidades.recuperarUltimoCodigo() + 1 ;
                    CidadeModel cidadee = new CidadeModel(codigo,view.getTxtcidade().getText(),view.getCBXestado().getSelectedItem().toString());
                    cidades.cadastrar(cidadee);
              }
              else {
                    codigo = cidades.buscarNome1(view.getTxtcidade().getText());
               }
               
               if(endrecos.buscarNome(view.getTxtrua().getText()) == null){
               codigo1 = endrecos.recuperarUltimoCodigo() + 1 ;
               EnderecoModel  endreco = new EnderecoModel(codigo1, codigo, view.getTxtrua().getText(), Integer.parseInt(view.getTxtnumero().getText()),view.getCep1().getText());
               endrecos.cadastrar(endreco);
               }
              else {
                    codigo1 = endrecos.buscarNome1(view.getTxtrua().getText());
               }
              
              FornecedorModel fornedo = new FornecedorModel(fornecedor.recuperarUltimoCodigo() + 1, view.getTxtnome().getText(),view.getTxtcnpj().getText(), view.getTxtinscricao().getText(), codigo1, view.getTxttel().getText());
                        fornecedor.cadastrar(fornedo);
            
           }
            
            
        } catch (Exception e) {
            JOptionPane.showMessageDialog(view, e.getMessage());
        }
      
        view.setVisible(false);
 }  
   public void carregacombox(){
      UF[] ts = UF.values();
      
      for(UF tipos : ts){ 
         view.getCBXestado().addItem(tipos.toString());
      }
      
  }
 
}
